<template>
  <div class="video-content">
    <div class="filter-wrap">
      <div class="seciton-wrap">
        <span class="section-type">地区:</span>
        <ul class="tabs-wrap">
          <li class="tab">
            <span
              class="title"
              :class="{ active: area == '全部' }"
              @click="area = '全部'"
              >全部</span
            >
          </li>
          <li class="tab">
            <span
              class="title"
              :class="{ active: area == '内地' }"
              @click="area = '内地'"
              >内地</span
            >
          </li>
          <li class="tab">
            <span
              class="title"
              :class="{ active: area == '港台' }"
              @click="area = '港台'"
              >港台</span
            >
          </li>
          <li class="tab">
            <span
              class="title"
              :class="{ active: area == '欧美' }"
              @click="area = '欧美'"
              >欧美</span
            >
          </li>
          <li class="tab">
            <span
              class="title"
              :class="{ active: area == '日本' }"
              @click="area = '日本'"
              >日本</span
            >
          </li>
          <li class="tab">
            <span
              class="title"
              :class="{ active: area == '韩国' }"
              @click="area = '韩国'"
              >韩国</span
            >
          </li>
        </ul>
      </div>
      <div class="type-wrap">
        <span class="type-type">类型:</span>
        <ul class="tabs-wrap">
          <li class="tab">
            <span
              class="title"
              :class="{ active: type == '全部' }"
              @click="type = '全部'"
              >全部</span
            >
          </li>
          <li class="tab">
            <span
              class="title"
              :class="{ active: type == '官方版' }"
              @click="type = '官方版'"
              >官方版</span
            >
          </li>
          <li class="tab">
            <span
              class="title"
              :class="{ active: type == '原声' }"
              @click="type = '原声'"
              >原声</span
            >
          </li>
          <li class="tab">
            <span
              class="title"
              :class="{ active: type == '现场版' }"
              @click="type = '现场版'"
              >现场版</span
            >
          </li>
          <li class="tab">
            <span
              class="title"
              :class="{ active: type == '网易出品' }"
              @click="type = '网易出品'"
              >网易出品</span
            >
          </li>
        </ul>
      </div>
      <div class="order-wrap">
        <span class="order-type">排序:</span>
        <ul class="tabs-wrap">
          <li class="tab">
            <span
              class="title"
              :class="{ active: order == '上升最快' }"
              @click="order = '上升最快'"
              >上升最快</span
            >
          </li>
          <li class="tab">
            <span
              class="title"
              :class="{ active: order == '最热' }"
              @click="order = '最热'"
              >最热</span
            >
          </li>
          <li class="tab">
            <span
              class="title"
              :class="{ active: order == '最新' }"
              @click="order = '最新'"
              >最新</span
            >
          </li>
        </ul>
      </div>
    </div>
    <!-- mv容器 -->
    <!-- 推荐MV -->
    <div class="mvs">
      <div class="items">
        <div
          v-for="item in mvList"
          :key="item.id"
          class="item"
          @click="toMv(item.id)"
        >
          <div class="img-wrap">
            <img :src="item.cover" alt="" />
            <div class="num-wrap">
              <div class="num">{{ item.playCount | formatCount }}</div>
            </div>
          </div>
          <div class="info-wrap">
            <div class="name">{{ item.name }}</div>
          </div>
        </div>
      </div>
      <!-- 分页器 -->
      <el-pagination
        @current-change="handleCurrentChange"
        background
        small
        layout="prev, pager, next"
        :total="total"
        :current-page="page"
        :page-size="limit"
      >
      </el-pagination>
    </div>
    <br>
    <hr>
    <br>
  </div>
</template>

<script>
import { allMvs } from '@/api/mvs'
export default {
  name: 'myvideo',
  components: {},
  props: {},
  data () {
    return {
      area: '全部',
      type: '全部',
      order: '上升最快',
      // 每页数据
      limit: 60,
      // 页码
      page: 1,
      // 总条数
      total: 0,
      // mv列表数据
      mvList: []
    }
  },
  computed: {},
  watch: {
    area () {
      this.page = 1
      this.getData()
    },
    type () {
      this.page = 1
      this.getData()
    },
    order () {
      this.page = 1
      this.getData()
    }
  },
  created () {
    this.getData()
  },
  mounted () {},
  methods: {
    // 页码改变
    handleCurrentChange (val) {
      this.page = val
      this.getData()
    },
    async getData () {
      const { limit, area, type, order, page } = this
      const res = await allMvs(
        limit,
        area,
        type,
        order,
        (page - 1) * limit
      )
      this.mvList = res.data.data
      if (res.data.count) {
        this.total = res.data.count
      }
    },
    toMv (id) {
      this.$router.push({
        name: 'm.mvlist',
        params: {
          id
        }
      })
    }
  }
}
</script>

<style scoped lang="less">
.video-content {
  padding-top: 20px;
  .filter-wrap {
    padding-left: 16px;
    text-align: center;
    > div {
      margin-bottom: 30px;
      vertical-align: baseline;
      display: flex;
      align-items: center;
      span {
        font-size: 12px;
        height: 100%;
        &.title {
          color: gray;
          cursor: pointer;
          padding: 5px 12px;
          &.active {
            color: #dd6d60;
            background-color: #fcf6f5;
            border-radius: 20px;
          }
          &::before {
            content: '';
          }
        }
      }
      ul {
        display: flex;
        li:not(:last-child) {
          border-right: 1px solid #f2f2f1;
        }
      }
    }
  }
  .mvs {
    .items {
      display: flex;
      justify-content: flex-start;
      flex-wrap: wrap;
      .item {
        width: 96px;
        cursor: pointer;
        margin-left: 24px;
        margin-bottom: 30px;
        .img-wrap {
          width: 100%;
          position: relative;
          img {
            width: 100%;
            border-radius: 5px;
          }
          .num-wrap {
            position: absolute;
            color: white;
            top: 0;
            right: 0;
            display: flex;
            align-content: center;
            font-size: 12px;
            padding-right: 5px;
            padding-top: 2px;
          }
        }
        .info-wrap {
          .name {
            font-size: 12px;
            overflow: hidden;
            text-overflow:ellipsis;
            white-space:nowrap;
            text-align: center;
          }
        }
      }
    }
  }
}
</style>
